package org.jeecg.modules.zcgl.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.system.base.entity.DelFlagBaseEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 对账单详情
 * @Author: jeecg-boot
 * @Date:   2021-01-15
 * @Version: V1.0
 */
@ApiModel(value="zcgl_statement_account对象", description="对账单信息")
@Data
@TableName("zcgl_statement_account_details")
public class StatementAccountDetails extends DelFlagBaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

	/**对账单ID*/
	@ApiModelProperty(value = "对账单ID")
	private String statementAccountId;
	/**商户号*/
	@Excel(name = "商户号", width = 15)
	@ApiModelProperty(value = "商户号")
	private String partnerNo;
	/**商户订单号*/
	@Excel(name = "商户订单号", width = 15)
	@ApiModelProperty(value = "商户订单号")
	private String outTradeNo;
	/**交易描述*/
	@Excel(name = "交易描述", width = 15)
	@ApiModelProperty(value = "交易描述")
	private String tradeMessage;
	/**订单支付时间*/
	@Excel(name = "订单支付时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "订单支付时间")
	private Date tradeFinishTime;
	/**交易状态：0.成功*/
	@Excel(name = "交易状态：0.成功", dicCode = "zcgl_statement_account_order_status", width = 15)
	@Dict(dicCode = "zcgl_statement_account_order_status")
	@ApiModelProperty(value = "交易状态：0.成功")
	private Integer tradeState;
	/**订单总金额*/
	@Excel(name = "订单总金额", width = 15)
	@ApiModelProperty(value = "订单总金额")
	private BigDecimal totalFee;
	/**支付的订单IDS*/
	@Excel(name = "支付的订单IDS", width = 15)
	@ApiModelProperty(value = "支付的订单IDS")
	private String orderIds;
	/**订单类型：0缴费，1预存*/
	@Excel(name = "订单类型：0缴费，1预存", width = 15, dicCode = "zcgl_statement_account_order_type")
	@Dict(dicCode = "zcgl_statement_account_order_type")
	@ApiModelProperty(value = "订单类型")
	private Integer orderType;
	/**订单支付方式*/
	@Excel(name = "订单支付方式", width = 15)
	@ApiModelProperty(value = "订单支付方式")
	private String tradeType;
	/**支付订单号*/
	@Excel(name = "支付订单号", width = 15)
	@ApiModelProperty(value = "支付订单号")
	private String transactionId;
	/**客户信息*/
	@Excel(name = "客户信息", width = 15, dictTable = "zcgl_customer_info", dicText = "name", dicCode = "id")
	@Dict(dictTable = "zcgl_customer_info", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "客户信息")
	private String customerId;
	
	/**是否对比*/
	@Excel(name = "是否对比", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
	@ApiModelProperty(value = "是否对比")
	private Integer izCompareSuccess;
	
	/**对比消息*/
	@Excel(name = "对比消息", width = 15)
	@ApiModelProperty(value = "对比消息")
	private String compareMessage;

	/**
	 * 20210608 尹涛 --用做插入合同编码
	 */
	@TableField(exist = false)
	private String contractNum;
}
